<template>
  <!-- 维保工单（处理人） -->
  <div class="FlMaintenanceSheet">
    <!-- 搜索框-->
    <div style="padding: 0px 0px">

      <!-- 收缩框 -->
      <!-- <div class="shrinkBox" @click="shrinkBoxOpenClose = !shrinkBoxOpenClose">
        <i
          :class="
            shrinkBoxOpenClose ? 'el-icon-arrow-up' : 'el-icon-arrow-down'
          "
          v-if="numSearch > 8"
        ></i>
      </div> -->
      <!-- @clearSearch='clearSearch' -->
      <!-- <div style="border-top: 1px solid #e6e6e6; margin: 0px 20px"></div> -->
      <div class="right_row" style="padding: 25px 30px">
        <div class="right_shou">
          <searchComponentsCss :searchData="sousuoData" :optionsZi="optionsZi" :searchOptionTable="searchOptionTable"
            :shrinkBoxOpenClose="shrinkBoxOpenClose" @searchCallBack="searchCallBack"></searchComponentsCss>
        </div>
        <div class="right_you">
          <!--开 始-->
          <el-button type="primary" plain size="small" icon="el-icon-coordinate" @click="startPlan()">开 始</el-button>
          <!-- 结 束 -->
          <el-button type="warning" plain size="small" icon="el-icon-coordinate" @click="shenhe()">结 束</el-button>
          <div class="el-form-item_sssssss">
            <el-dialog title="派 单" :visible.sync="dialogFormVisible">
              <el-form ref="ruleForm" :model="forms" label-width="100px" :rules="rules">
                <el-form-item label="处理人:" prop="works">
                  <el-cascader v-model="xjvalue" :options="xjoptions" @change="handleChange" clearable size="small"
                    ref="cascaderAddr" placeholder="请选择处理人"></el-cascader>
                </el-form-item>
                <el-form-item label="故障原因：" prop="resultFaultReason">
                  <el-input type="textarea" v-model="forms.resultFaultReason"></el-input>
                </el-form-item>
                <el-form-item label="处理方法：" prop="resultHandMethod">
                  <el-input type="textarea" v-model="forms.resultHandMethod"></el-input>
                </el-form-item>
                <el-form-item label="备注：" prop="resultRmk">
                  <el-input type="textarea" v-model="forms.resultRmk"></el-input>
                </el-form-item>
                <el-form-item label="图片:" prop="name">
                  <el-upload action="" list-type="picture-card" :auto-upload="false" :limit="5"
                    :on-change="handleImageChange" :on-preview="handlePictureCardPreview" :on-remove="handleRemove">
                    <i class="el-icon-plus"></i>
                    <div slot="tip" class="form-tips" style="margin-top: 10px">
                      <el-tag type="warning">最多上传5张</el-tag>
                    </div>
                  </el-upload>
                </el-form-item>
              </el-form>
              <div slot="footer" class="dialog-footer">
                <el-button type="primary" @click="stopPlan('ruleForm')" size="small">保 存</el-button>
                <el-button @click="quxiao(), dialogFormVisible = false" size="small">取 消</el-button>
              </div>
            </el-dialog>
          </div>
          <!--批量删除按钮-->
          <!-- <batches v-if="but_delBatches" class="buttonhurdle" @toDelete="toDelete">
          </batches> -->
          <!-- 导出 Derived form-->
          <!-- <derivedTbale v-if="but_derivedTbale" class="importX" :suoS="suoS" :disabled="disabled"
            :multipleSelection="multipleSelection" /> -->
          <!-- 导入 The import form-->
          <!-- <importTbale v-if="but_importTbale" style="margin-left: 15px" :importUrl="importUrl"
            @handleSuccessImport="handleSuccessImport" /> -->
          <!-- 下载模板 Download the template-->
          <!-- <downloadTemplate v-if="but_downloadTemplate" style="margin-left: 15px" /> -->
          <!-- 模板导入导出下载 -->
          <!-- <importXlsx
              class="importX"
              :importUrl='importUrl'
              :suoS='suoS'
              :disabled='disabled'
              :multipleSelection='multipleSelection'
              @handleSuccessImport='handleSuccessImport'
        /> -->
        </div>
        <rightButtons class="right_buttons" @sunS_F="sunS_F" @emptySearch="emptySearch" @configuration="configuration"
          @goFatherComponent="goFatherComponent" :configurationData="searchData" :btn-switch-configuration="false">
        </rightButtons>
      </div>
    </div>
    <!-- 表格 -->
    <div class="out">
      <!--数据列表-->
      <!-- 字典 -->
      <dictionariesPlus :searchData="searchData" :modelType="modelType" @optionData="dictionariesCallBack">
      </dictionariesPlus>
      <el-table ref="multipleTable" :data="dataAttribute" v-loading.body="false" border fit highlight-current-row
        size="mini" :cell-style="{ padding: '5px 0' }" @selection-change="handleSelectionChange"
        @sort-change="sortChangeTable" max-height="511px" v-loading="loading1">
        <el-table-column align="center" type="selection" :show-overflow-tooltip="true" width="45"></el-table-column>
        <el-table-column align="center" label="序号" type="index" :index="indexMethod" width="54px">
        </el-table-column>
        <el-table-column align="center" v-for="item in searchData" v-if="item.tableSign" :key="item.id" :label="item.CN"
          :prop="item.EN" :sortable="customMethod(item)" :show-overflow-tooltip="true" min-width="140px">
          <template slot-scope="scope">{{
          item.type === "select"
          ? optionDatas(
          item.typeGroupCode
          ? optionsZi[item.EN]
          : searchOptionTable[item.EN],
          scope.row[item.EN]
          )
          : scope.row[item.EN]
          }}</template>
        </el-table-column>
        <el-table-column align="center" label="操作" width="180px" fixed="right" v-if="but_look || but_edit || but_del">
          <template slot-scope="scope" class="do">
            <!-- 查看按钮 -->
            <el-button v-if="but_look" style="color: #0b9ac3; border: none" icon="el-icon-view" circle
              @click="makeExaId(scope.row.id)"></el-button>
            <!-- 修改组件 -->
            <!-- <modificationi v-if="scope.row.maintenanceSheetStatus === 10" class="inline_block"
              :attributeOrder="searchData" :optionsZi="optionsZi" :searchOptionTable="searchOptionTable"
              :modData="scope.row" @modifyData="modifyData"></modificationi> -->
            <!-- 删除按钮 -->
            <el-button v-if="but_del" style="color: #c90010; border: none" icon="el-icon-delete" circle
              @click="deleteList(scope.row.id)"></el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange"
        :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pagesize"
        layout="total, sizes, prev, pager, next, jumper" :total="pagetotal"></el-pagination>
    </div>

    <!-- 查看组件 -->
    <examineHandle :DialogVisibleMod="DialogVisibleExamine" :modData="examineData" :optionsZi="optionsZi"
      :searchOptionTable="searchOptionTable" :attributeOrder="searchData" @examineDialog="examineDialog">
    </examineHandle>
    <el-dialog :visible.sync="dialogVisible">
      <img width="100%" :src="dialogImageUrl" alt="">
    </el-dialog>
  </div>
</template>
<script>
//引入组件
import {
  SearchCForL,
  searchComponents,
  searchComponentsCss,
  // examine,
  rightButtons,
  dictionaries,
  dictionariesPlus,
  // importXlsx
} from "@/views/components/FLPage";
//引入组件
import examineHandle from './examineHandle.vue'
import {
  // buttonhurdle,
  importXlsx,
  batches,
  derivedTbale,
  importTbale,
  // modificationi,
  downloadTemplate,
} from "@/views/components/revenueFLpage";
import {
  SAVE_CHECK_BOXS,
  GAIN_CHECK_BOXS,
} from "@/views/components/FLPage/fun/checkBoxFun";
import {
  addFlMaintenanceSheet, //增加
  deleteFlMaintenanceSheet, //删除
  searchFlMaintenanceSheet, //分页查询
  modifyFlMaintenanceSheet, //修改
  getFlMaintenanceSheet, //根据ID获取
  exprotXls, //导出xlsx数据
  downTem, //导出下载模板
  Maintenancestart,//开始工单
  Maintenancefinish,//结束工单
} from "@/api/weibaoguanli/flMaintenanceSheet/index";
import {
  searchsearch,//巡检成员接口
  searchtsdepart,//巡检部门成员接口
} from "@/api/xiaofang/base/flPatrolPlan/index";
export default {
  components: {
    // buttonhurdle,
    // buttonSheet,
    examineHandle,
    // modificationi,
    // examine,
    searchComponents,
    searchComponentsCss,
    importXlsx,
    rightButtons,
    dictionaries,
    dictionariesPlus,
    batches,
    derivedTbale,
    importTbale,
    downloadTemplate,
  },
  name: "FlMaintenanceSheet",
  data() {
    return {
      but_add: true,
      but_delBatches: true,
      but_look: true,
      but_edit: true,
      but_del: true,
      but_derivedTbale: true,
      but_importTbale: true,
      but_downloadTemplate: true,
      // lookOver:true,
      // editField:true,
      // Deletebu:true,
      disabled: false,
      numSearch: 0,
      //   收缩框开关
      shrinkBoxOpenClose: false,
      importUrl: "api/schedule/flMaintenanceSheet/importXls",
      //搜索框
      suoS: {},
      //   搜索组件的数据 columnSize
      searchData: [
        {
          EN: "sheetNo",
          CN: "工单编号",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "maintenanceSheetType",
          CN: "工单类型",
          value: "",
          type: "select",
          option: [],
          err: "长度为1-3位的数字!",
          Exp: "^[0-9]+(\\.[0-9]{1,3})?$",
          typeGroupCode: "maintenance_sheet_type",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        // {
        //   EN: "maintenanceSheetUrgentType",
        //   CN: "处理等级",
        //   value: "",
        //   type: "select",
        //   option: [],
        //   err: "长度为1-3位的数字!",
        //   Exp: "^[0-9]+(\\.[0-9]{1,3})?$",
        //   typeGroupCode: "maintenance_sheet_urgent_type",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
        {
          EN: "createDate",
          CN: "创建时间",
          value: "",
          type: "date",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "faultRiskType",
          CN: "风险等级",
          value: "",
          type: "select",
          option: [],
          err: "长度为1-3位的数字!",
          Exp: "^[0-9]+(\\.[0-9]{1,3})?$",
          typeGroupCode: "fault_risk_type",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "maintenanceSheetStatus",
          CN: "工单状态",
          value: "",
          type: "select",
          option: [],
          err: "长度为1-3位的数字!",
          Exp: "^[0-9]+(\\.[0-9]{1,3})?$",
          typeGroupCode: "maintenance_sheet_status",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "startDt",
          CN: "预计开始时间",
          value: "",
          type: "date",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "endDt",
          CN: "预计结束日期",
          value: "",
          type: "date",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "realStartDt",
          CN: "实际开始时间",
          value: "",
          type: "date",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "realEndDt",
          CN: "实际结束日期",
          value: "",
          type: "date",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "content",
          CN: "内容",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "address",
          CN: "位置",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "longitude",
          CN: "经度",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "latitude",
          CN: "纬度",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "relatedUnits",
          CN: "相关单位",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "rightPerson",
          CN: "单位负责人",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "phoneNum",
          CN: "联系方式",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "faultDt",
          CN: "故障发生时间",
          value: "",
          type: "date",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "detail",
          CN: "工单详细描述",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        // {
        //   EN: "annexPath",
        //   CN: "附件路径",
        //   value: "",
        //   type: "input",
        //   option: [],
        //   err: "长度为2-20位的所有字符!",
        //   Exp: "^.{2,20}$",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
        // {
        //   EN: "rmk",
        //   CN: "备注",
        //   value: "",
        //   type: "input",
        //   option: [],
        //   err: "长度为2-20位的所有字符!",
        //   Exp: "^.{2,20}$",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
        {
          EN: "workLeader",
          CN: "工作负责人",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        // {
        //   EN: "workLeaderBy",
        //   CN: "工作负责人登录名称",
        //   value: "",
        //   type: "input",
        //   option: [],
        //   err: "长度为2-20位的所有字符!",
        //   Exp: "^.{2,20}$",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
        {
          EN: "works",
          CN: "工作组成员",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        // {
        //   EN: "dispatchRmk",
        //   CN: "派单备注",
        //   value: "",
        //   type: "input",
        //   option: [],
        //   err: "长度为2-20位的所有字符!",
        //   Exp: "^.{2,20}$",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
        {
          EN: "resultFaultReason",
          CN: "故障原因",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "resultHandMethod",
          CN: "处理方法",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "resultRmk",
          CN: "备注",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        // {
        //   EN: "resultImagesPath",
        //   CN: "处理结果现场图片",
        //   value: "",
        //   type: "input",
        //   option: [],
        //   err: "长度为2-20位的所有字符!",
        //   Exp: "^.{2,20}$",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
      ],
      sousuoData: [
        {
          EN: "sheetNo",
          CN: "工单编号",
          value: "",
          type: "input",
          option: [],
          err: "长度为2-20位的所有字符!",
          Exp: "^.{2,20}$",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        {
          EN: "maintenanceSheetStatus",
          CN: "工单状态",
          value: "",
          type: "select",
          option: [],
          err: "长度为1-3位的数字!",
          Exp: "^[0-9]+(\\.[0-9]{1,3})?$",
          typeGroupCode: "maintenance_sheet_status",
          result: true,
          sign: true,
          searchSign: true,
          addSign: true,
          tableSign: true,
          examineSign: true,
          examineDisabled: false,
          modificationSign: true,
          configurationSign: true,
        },
        // {
        //   EN: "maintenanceSheetUrgentType",
        //   CN: "处理等级",
        //   value: "",
        //   type: "select",
        //   option: [],
        //   err: "长度为1-3位的数字!",
        //   Exp: "^[0-9]+(\\.[0-9]{1,3})?$",
        //   typeGroupCode: "maintenance_sheet_urgent_type",
        //   result: true,
        //   sign: true,
        //   searchSign: true,
        //   addSign: true,
        //   tableSign: true,
        //   examineSign: true,
        //   examineDisabled: false,
        //   modificationSign: true,
        //   configurationSign: true,
        // },
      ],//查询

      //添加弹窗的数据模型
      diaDataAdd: {
        yyqName: "",
        pqName: "",
        pqNum: "",
        BH: "",
      },
      //删除----Start--------------------------------------
      deleteDataList: [],
      //删除----End----------------------------------------

      //查看----Start--------------------------------------

      //查看的弹窗控制器
      DialogVisibleExamine: false,
      forms: {
        id: '',
        resultFaultReason: '',//故障原因
        resultHandMethod: '',//处理方法
        resultRmk: '',//备注
        works: '',//处理人
      },
      xjoptions: [],
      xjvalue: [],
      chongzu: '',
      rules: {
        resultFaultReason: [
          { required: true, message: '请输入故障原因', trigger: 'blur' },
        ],
        resultHandMethod: [
          { required: true, message: '请输入处理方法', trigger: 'blur' }
        ],
        resultRmk: [
          { required: true, message: '请输入备注', trigger: 'blur' }
        ],
        works: [
          { required: true, message: '请选择处理人', trigger: 'blur' }
        ],
      },
      oabjsss: {},
      chenyuandata: [],//成员数据
      //查看的数据
      examineData: {},

      //查看----End----------------------------------------

      //表格数据
      //后端传来的数据
      dataAttribute: [],
      //表格选中1
      multipleSelection: [],

      //分页
      currentPage: 1, //当前页
      pagesize: 10, //每页条数
      pagetotal: 0, //总条数,
      modelType: "table",
      optionsZi: [],
      searchOptionTable: [],
      loading1: false,
      dialogFormVisible: false,
      arrimg: [],
      dialogImageUrl: '',
      dialogVisible: false
    };
  },
  computed: {
    optionDatas() {
      return function (arr, val) {
        if (arr) {
          for (let i = 0; i < arr.length; i++) {
            if (arr[i].value == val) {
              return arr[i].label;
            }
          }
        }
      };
    },
    customMethod() {
      return function (item) {
        return "custom";
      };
    },
  },
  async created() {
    // 按钮权限配置
    // this.but_add = this.$store.state.user.elements['flMaintenanceSheet:but_add'];
    // this.but_delBatches = this.$store.state.user.elements['flMaintenanceSheet:but_delBatches'];
    // this.but_look = this.$store.state.user.elements['flMaintenanceSheet:but_look'];
    // this.but_edit = this.$store.state.user.elements['flMaintenanceSheet:but_edit'];
    // this.but_del = this.$store.state.user.elements['flMaintenanceSheet:but_del'];
    // this.but_derivedTbale = this.$store.state.user.elements['flMaintenanceSheet:but_derivedTbale'];
    // this.but_importTbale = this.$store.state.user.elements['flMaintenanceSheet:but_importTbale'];
    // this.but_downloadTemplate = this.$store.state.user.elements['flMaintenanceSheet:but_downloadTemplate'];
    // ------------------
    // this.but_search = this.$store.state.user.elements['flMaintenanceSheet:but_search'];
    // this.but_reset = this.$store.state.user.elements['flMaintenanceSheet:but_reset'];
    // this.but_pz = this.$store.state.user.elements['flMaintenanceSheet:but_peizhi'];

    //获取保存的’配置‘
    //1.ajax
    this.getSSearchNum();
    let userId = this.$store.state.user.id;
    let routerName = this.$route.path;
    let peizhiData = await GAIN_CHECK_BOXS(userId, routerName);
    //2.判断数据库里面是否有 以前存过的配置信息
    if (peizhiData != "") {
      //3.解析(序列化)
      this.searchData = JSON.parse(peizhiData);
    }
  },
  methods: {
    //开始
    startPlan() {
      this.$confirm("确认工单开始？")
        .then((_) => {
          for (let i = 0; i < this.deleteDataList.length; i++) {
            var ids = {
              id: this.deleteDataList[i].id,
            };
          }
          if (ids) {
            Maintenancestart(ids)
              .then((response) => {
                console.log(response);
                this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
                if (response.code === 20000) {
                  this.$message({
                    message: response.message,
                    type: "success",
                  });
                } else if (response.code === 20001) {
                  this.$message({
                    message: response.message,
                    type: "warning",
                  });
                }
              })
              .catch((error) => {
                this.$message({
                  message: "工单开始失败",
                  type: "warning",
                });
              });
          } else {
            this.$message({
              message: "开始失败,请勾选计划",
              type: "warning",
            });
          }
        })
        .catch((_) => { });
    },
    handleChange(value) {
      console.log(this.ssssssss)
      // console.log(value);
      const checkedNodes = this.$refs['cascaderAddr'].getCheckedNodes() // 获取当前点击的节点
      this.forms.works = checkedNodes[0].data.label
      console.log(checkedNodes[0].data.label) // 获取当前点击的节点的label
    },
    shenhe() {
      for (let i = 0; i < this.deleteDataList.length; i++) {
        var ids = {
          id: this.deleteDataList[i].id,
        };
      }
      if (ids) {
        this.dialogFormVisible = true
        searchsearch(1, 999, {}).then(res => {
          console.log(res);
          let ss = res.data.list
          this.chongzu = ss.map(item => {
            let children = {
              value: item.username,
              label: item.name
            }
            return children
          })
          searchtsdepart(1, 999, {}).then(res => {
            console.log(res);
            let sss = res.data.list
            this.xjoptions = sss.map(item => {
              let childrens = {
                value: item.id,
                label: item.departname,
                children: ''
              }
              return childrens
            })
            // this.xjoptions
            this.xjoptions[1].children = this.chongzu
            // console.log(this.xjoptions);
          })
        })
      } else {
        this.$message({
          message: "结束失败,请勾选计划",
          type: "warning",
        });
      }
    },
    handleRemove(file, fileList) {
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    //图片上传
    handleImageChange(file, fileList) {
      this.arrimg = []
      fileList.map(item => {
        this.arrimg.push(item.raw)
      })
    },
    quxiao() {
      this.forms = {}
    },
    //结束
    stopPlan(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.$confirm("确认结束工单？")
            .then((_) => {
              for (let i = 0; i < this.deleteDataList.length; i++) {
                this.forms.id = this.deleteDataList[i].id
              }
              let formData = new FormData();
              let sss = Object.entries(this.forms)
              console.log(sss);
              this.arrimg.forEach((i, index) => {
                formData.append(`imgFile${index + 1}`, i);
              })
              sss.forEach((file) => {
                formData.append(file[0], file[1]);
              });
              Maintenancefinish(formData)
                .then((response) => {
                  console.log(response);
                  this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
                  if (response.code === 20000) {
                    this.$message({
                      message: response.message,
                      type: "success",
                    });
                    this.dialogFormVisible = false
                    this.forms = {}
                  } else if (response.code === 20001) {
                    this.$message({
                      message: response.message,
                      type: "warning",
                    });
                  }
                })
                .catch((error) => {
                  this.$message({
                    message: "工单结束失败",
                    type: "warning",
                  });
                });
            })
            .catch((_) => { });
        } else {
          console.log('error submit!!');
          return false;
        }
      });

    },
    // 搜索框
    getSSearchNum() {
      let searchData = this.searchData;
      let num = 0;
      for (let i = 0; i < searchData.length; i++) {
        const element = searchData[i];
        if (element.searchSign) {
          num += 1;
        } else {
          num = num;
        }
      }
      this.numSearch = num;
    },
    // 排序
    sortChangeTable(obj) {
      // 上升
      let prop = obj.prop;
      // 排序  需求  将驼峰形式的字段 改为 下划线形式的字段
      let abc = prop.replace(/([A-Z])/g, "_$1").toLowerCase();
      if (obj.order === "ascending") {
        let suoS = this.suoS;
        suoS.sortName = abc;
        suoS.sortType = obj.order;
        this.forData(this.currentPage, this.pagesize, suoS); //刷新列表
      } else if (obj.order === "descending") {
        let suoS = this.suoS;
        suoS.sortName = abc;
        suoS.sortType = obj.order;
        this.forData(this.currentPage, this.pagesize, suoS); //刷新列表
        // 下降
      } else {
        // 正常
        let suoS = this.suoS;
        suoS.sortName = abc;
        suoS.sortType = "";
        this.forData(this.currentPage, this.pagesize, suoS); //刷新列表
      }
    },
    handleSuccessImport(newValue) {
      if (newValue == "导入成功") {
        this.forData(this.currentPage, this.pagesize, this.suoS);
      }
    },
    //配置的子组件通知
    async goFatherComponent(OverData) {
      //1.修改父组件的视图***************
      this.searchData = JSON.parse(JSON.stringify(OverData));
      //2.保存’配置‘的更改
      let obj = {};
      //三个参数都是string类型***********
      obj["userId"] = this.$store.state.user.id; //1
      obj["routerName"] = this.$route.path; ///jiChuZiLiao/flBook
      obj["stringData"] = JSON.stringify(OverData); //相当于this.searchData转成了字符串格式    [{"EN":"id","CN":"主键","value":""...
      //封装好的发请求方法*****************
      let save_check_boxs = await SAVE_CHECK_BOXS(obj);
    },
    // 配置
    configuration(msg) {
      if (msg == "配置") {
        console.log(msg);
      }
    },
    // 重置
    emptySearch(msg) {
      if (msg == "重置") {
        this.suoS = {};
        let suoS = this.suoS;
        suoS.communityCode = this.areaCode;
        this.forData(this.currentPage, this.pagesize, suoS);
      }
    },
    // 字典组件回调
    dictionariesCallBack([a = {}, b = {}]) {
      // 正常字典
      this.optionsZi = a;
      // 跨表字典
      this.searchOptionTable = b;
      this.forData(this.currentPage, this.pagesize, this.suoS);
    },
    //搜索
    sunS_F(msg) {
      if (msg == "搜索") {
        this.currentPage = 1;
        this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
      }
    },
    //查询组件回调
    searchCallBack(newData) {
      let obj = {};
      for (let i = 0; i < newData.length; i++) {
        obj[newData[i].EN] = newData[i].value;
      }
      this.suoS = obj;
    },
    //渲染数据初始
    forData(page, size, searchData) {
      this.suoS["listType"] = 2;
      searchFlMaintenanceSheet(page, size, searchData)
        .then((response) => {
          this.pagetotal = response.data.total;
          this.dataAttribute = response.data.list;
          if (this.dataAttribute.length == 0) {
            this.disabled = true;
          } else {
            this.disabled = false;
          }
        })
        .catch((this.disabled = true));
    },
    //添加用户--新增表单组件传来的参数
    // toAdd(addData, a, b) {
    //   let formData = new FormData();
    //   for (let i = 0; i < addData.length; i++) {
    //     formData.append(addData[i].EN, addData[i].value);
    //   }
    //   let sss = Object.entries(a)
    //   console.log(sss);
    //   formData.delete('address')
    //   formData.delete('imgFiles')
    //   // console.log(formData);
    //   // debugger;
    //   b.forEach((i) => {
    //     formData.append('imgFiles', i);
    //   })
    //   sss.forEach((file) => {
    //     formData.append(file[0], file[1]);
    //   });
    //   this.loading1 = true
    //   addFlMaintenanceSheet(formData)
    //     .then((response) => {

    //       this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
    //       if (response.flag) {
    //         this.loading1 = false
    //         this.$message({
    //           message: response.message,
    //           type: "success",
    //         });
    //       } else {
    //         this.loading1 = false
    //         this.$message({
    //           message: response.message,
    //           type: "warning",
    //         });
    //       }
    //     })
    //     .catch(() => {
    //       this.$message.error("添加失败");
    //     });
    // },
    //按钮栏传递了删除命令
    toDelete(orderstring) {
      this.$confirm("确认删除？")
        .then((_) => {
          let idArr = [];
          for (let i = 0; i < this.deleteDataList.length; i++) {
            idArr.push(this.deleteDataList[i].id);
          }
          if (idArr.length == 0) {
            this.$message({
              message: "请选择要删除的数据",
              type: "warning",
            });
            return;
          }
          deleteFlMaintenanceSheet(idArr)
            .then((response) => {
              this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
              this.$message({
                message: "删除成功",
                type: "success",
              });
            })
            .catch((error) => {
              this.$message({
                message: "删除失败",
                type: "warning",
              });
            });
        })
        .catch((_) => { });
    },
    //单项删除
    deleteList(id) {
      let arrId = [id];
      this.$confirm("确认删除？")
        .then((_) => {
          deleteFlMaintenanceSheet(arrId).then((response) => {
            this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
            this.$message({
              message: "删除成功",
              type: "success",
            });
          });
          done();
        })
        .catch((_) => { });
    },
    //查看
    makeExaId(id) {
      console.log(id);
      getFlMaintenanceSheet(id)
        .then((response) => {
          let copyDialog = true;
          this.DialogVisibleExamine = copyDialog;
          // console.log(response);
          this.examineData = response.data;
          //  this.examineData.annexPath =
          //   "https://test.fenglankeji.cn" + this.examineData.annexPath;
          // this.examineData.imagesPath =
          //   "https://test.fenglankeji.cn" + this.examineData.imagesPath;
        })
        .catch((error) => {
          alert("获取失败");
        });
    },
    //查看关闭弹窗
    examineDialog(dialogVisibleMod) {
      this.DialogVisibleExamine = false;
    },

    //修改
    modifyData(value, modData) {
      if (value) {
        let id = modData.id;
        modifyFlMaintenanceSheet(id, modData)
          .then((response) => {
            this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
            if (response.flag) {
              this.$message({
                message: response.message,
                type: "success",
              });
            } else {
              this.$message({
                message: response.message,
                type: "warning",
              });
            }
          })
          .catch((error) => {
            this.$message({
              message: "修改失败",
              type: "warning",
            });
            this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
          });
      } else {
        this.forData(this.currentPage, this.pagesize, this.suoS); //刷新列表
      }
    },
    //表格选中事件
    handleSelectionChange(val) {
      this.multipleSelection = val;
      //传递删除的参数
      this.deleteDataList = val;
    },

    //分页
    handleSizeChange(val) {
      console.log("每页 " + val + " 条");
      this.pagesize = val;
      this.forData(this.currentPage, val, this.suoS);
    },
    handleCurrentChange(val) {
      console.log("当前页: " + val);
      this.currentPage = val;
      this.forData(val, this.pagesize, this.suoS);
    },
    // 序号
    indexMethod(index) {
      var currentPage = this.currentPage;
      var pagesize = this.pagesize;
      this.$nextTick(function () {
        currentPage = this.currentPage;
        pagesize = this.pagesize;
      });
      return currentPage * pagesize - pagesize + 1 + index;
    },
    // 下载模板请求
    exprotXlsx: exprotXls,
    downloadFile: downTem,
    //工具栏组件传来的参数
    // FTableFunction(attributeOrderCloneTwiceL) {
    //   this.attributeOrder = attributeOrderCloneTwiceL;
    // },
  },
};
</script>
<style scoped src="@/styles/allCssP.css">

</style>
<style lang="scss" scoped>
.el-form-item_sssssss {
  /deep/.el-form-item__label {
    padding: 0 0 0 0;
  }

  /deep/ .el-form-item__content {
    margin-left: 100px !important;
  }
}

/deep/.sout .inner:nth-child(-n + 4) .searchOne .font {
  width: 32%;
  font-size: 12px;
}

// /deep/.sout {
//   width: 70%;
// }
/deep/ .sout .inner:nth-child(-n + 4) .inp .el_inp {
  width: 150px;
}

/deep/.FlMaintenanceSheet .right_row .right_buttons {
  right: 35%;
}

.FlMaintenanceSheet {
  .shrinkBox {
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    height: 25px;
    // border-bottom:1px solid #E6E6E6;
  }

  /deep/.el-table--mini {
    .gutter {
      display: table-cell !important;
    }

    .el-checkbox__inner {
      width: 12px;
      height: 12px;
    }

    /deep/.el-table__body-wrapper {
      .el-table__body {
        tbody {
          .el-table__row {
            height: 45px !important;
          }
        }
      }
    }

    // 改变表头的高度  改为45px
    .el-table__header-wrapper {
      .el-table__header {
        .has-gutter {
          tr {
            th {
              padding: 5px 0 !important;
              height: 34px;
              line-height: 34px;
            }
          }
        }
      }
    }

    // 表头操作固定定位
    .el-table__fixed-right {
      .el-table__header {
        thead {
          tr {
            th {
              padding: 5px 0 !important;
              height: 34px;
              line-height: 34px;
            }
          }
        }
      }
    }
  }

  .right_row {
    display: flex !important;
    justify-content: start;
    align-items: center;

    .buttonhurdle {
      padding: 0px;
      padding-right: 15px;
    }

    .right_buttons {
      position: absolute;
      right: 30px;
      padding: 0px;
    }

    .right_you {
      display: flex;
      // justify-content:flex-end;
      margin-left: 2vw;

      .el-button--small,
      .el-button--small.is-round {
        padding: 7px 15px;
      }
    }

    .right_shou {
      display: flex;
      padding: 0px 0px;

      // /deep/.sout[data-v-b0164d2e] {
      //   width: 70%;
      // }
      .sout {
        flex-wrap: nowrap;
        width: 80%;
      }

      .sout[data-v-6247a96c] {
        padding: 0;
      }

      /deep/.sout .inner:nth-child(-n + 4) {
        width: 100%;
      }

      /deep/.sout {
        padding: 0 0 0 0;
      }

      >>>.inner {
        width: 100%;
      }

      // flex: 0 0 20%;
    }
  }

  .do {
    display: flex;
  }

  .pagination {
    text-align: left;
    margin-top: 15px;
  }
}
</style>
